AWS
接続環境構築ガイ
CiP-1 CC3200
:
IoT
向 ソ ュー ョン
目次
1. めに _____________________________________________________________ 3
1.1 本マニュ に い ... 3
1.2 ン 環境 ... 3
1.3 事前準備 ... 4
2. セッ ッ ___________________________________________________________ 5 2.1 AWS EC2イン タン 設定 ... 5
2.1.1 MQTT Broker Mosquitto イン ー ... 5
2.2 CC3200ソー コー 変更点 ... 6
2.2.1 AWS接続用差分Patch 適用 ... 6
2.2.2 MQTT(Paho)ソー コー 取得 ... 6
2.2.3 MQTT Broker ホ 変更 ... 9
3. 接続確認 ____________________________________________________________ 10 3.1 CC3200 Wi-Fi APへ 接続 ... 10
3.1.1 SmartConfig 実行 ... 10
3.2 MQTTメッセー 確認... 12
3.2.1 MQTT Subscriber 実行 ... 12
3.2.2 MQTTメッセー 内容 ... 12
4. Appendix __________________________________________________________ 13 4.1 dweet.io 利用例 ... 13
4.1.1 Node.js client for dweet 実行例 ... 13
4.1.2 ウ 表示例 ... 15
1.
に
1.1
本 ニュ
につい
本 ニュ CC3200 Cip-1 組 合わせ CiP-1 セン 情報 AWS EC2 ン ン 上 ー 接続
送信 環境 構築方法 紹介い AWS 利用 あ AWS 定 い 規約等 確 認 上 客様 責任 下 利用
本 ニュ 内 記載 い ソ や ービ mosquitto paho nodejs dweet.io い
各ソ や ービ セン 等 確認 うえ 客様 責任 下 利用
1.2
ン 環境
本環境 セン 情報 送受信 MQTT コ 利用
AWS EC2 ン ン 上 MQTT Broker 立 上 い CC3200 MQTT Publisher セン 情
報 MQTT ッセー 送信 構成
AWS EC2 ン ン 上 MQTT Broker 受信 セン 情報 各種 ソ や ービ 利用
分析や可視化 行う 可能 本 ニュ Appendix 可視化 ービ 一例 dweet.io 利 用例 紹介い
1.3
事前準備
本 ニュ 事前準備 CiP-1 User’s Guide に記載さ “CiP-1 CC3200向けOOB および
バック” 完了 い ま ま 本ガイ 使用 差分Patch イ および Debug環境構築ガイ
Web 公開 お ませ 下記よ お問合せく さい
Mpression ン Web 内 問い合わせ ー : https://service.macnica.co.jp/contact
AWS環境 事前準備 AWS EC ン ン 立 上 頂く必要 あ
本 ニュ Ubuntu Server 14.04 LTS (64bit) Amazon ン ー AMI 使用
異 Linux ビュー ョン ン ー 利用 可能 そ 際 使用 ビュー ョン
沿 操作方法 確認く い
表1.使用AMI
AMI
Ubuntu Server 14.04 LTS (64bit)
以下 コ 使用 使用 セ ュ ー 適切 ー 設定 願い
表2.使用 コ 一覧
コ ー 番号
2.
セッ
ッ
2.1
AWS EC2
イン タン
設定
項 AWS EC2 ン ン 上 実施 い く ー ョン ン ー 実行 い 解
説
2.1.1
MQTT Broker
Mosquitto
イン
ー
MQTT Broker 動作 ー ョン Mosquitto ン ー
以上 AWS EC2 ン ン 上 設定 完了
MQTT Broker 自動的 起動 い
$ sudo apt-add-repository ppa:mosquitto-dev/mosquitto-ppa $ sudo apt-get update
2.2
CC3200
ソー コー
変更点
項 CC3200 セン 情報 MQTT ッセー 送信 ソー コー 変更点 解説
2.2.1
AWS
接続用差分
Patch
適用
Debug環境構築 2.2 差分Patch 適用 参考 差分Patch
0002-MqttPublisher.patch 適用 く い
2.2.2
MQTT(Paho)
ソー コー
取得
項 CC3200 セン ー 出力 使用 い コ :MQTT 必要 ソー コー
Paho Embedded MQTT C/C++ Client Libraries 以下 Paho 記載 取得方法 解説
以下 URL セ
http://git.eclipse.org/c /paho/org.eclipse.paho.mqtt.embedded-c.git/
ン ー 解凍 MQTTPacket/src 配下 ソー コー 選択
選択 CCS Project Explorer oob ッ ッ
ン ー 形式 問わ Copy files 選択 OK ッ く い
Copy files が選択さ い こ
2.2.3
MQTT Broker
ホ
名変更
CC3200 セン 情報 送信 MQTT Broker 名 main.c 内 HOST_NAME 定義
い HOST_NAME 2.1 章 作成 い い 客様 ー 名 ッ DNS
ッ IP 変更 く い
以上 CC3200ソー コー 変更点 い 作業 完了
ソー コー 変更後 問題 くビ 確認く い
ビ ー CiP-ガ バsムロ’s Guidム 4.3.3 ビ 書 込 参考
CC3200 書 込 く い
3.
接続確認
3.1
CC3200
Wi-Fi AP
へ 接続
項 iOS/Android 使用 CC3200 Wi-Fi AP 接続 方法 い 解説
3.1.1
SmartConfig
実行
使用 環境 合わせ ン ー iOS:SmartConfig iOS Application
https://itunes.apple.com/jp/app/ti-wifi-smartconfig/id580969322?mt=8
Android:SimpleLink™ Wi-Fi® Starter
https://play.google.com/store/apps/details?id=com.pandaos.smartconfig&hl=ja
CC3200 起動 く い 正常 起動 D7 LED(赤) 速く点滅
iOS/Android端末 Wi-Fi AP 接続 く い
ン ー TI WiFi SMARTCONFIG 実行 利用 Wi-Fi AP Password 設定 後
Start ッ く い ※ SSID Gateway IP Address 自動的 設定
※iOS 画面 例 記載 い
接続 成功 D7 LED(赤) ゆ く 点滅
以上 CC3200 Wi-Fi AP 接続作業 完了
Password Your SSID
Your GW IP
3.2
MQTT
ッセー
確認
項 AWS EC2 ン ン 上 MQTT ッセー 確認 方法 い 解説
MQTT ー ー 起動 い AWS EC2 ン ン 上 MQTT Subscriber 実行 MQTT ッセ ー 確認
3.2.1
MQTT Subscriber
実行
MQTT Subscriber 実行
実行例
約1秒周期 MQTT ッセー 受信 い わ
3.2.2
MQTT
ッセー 内容
MQTT ッセー JSON形式
表3.MQTT ッセー 内容
ック名 Example/ CC3200
ッセー 内容
macAddr CC3200 WLAN MAC
d
opt3000_ambientLight 照度セン :OPT3001
tmp007_irTemperature 赤外線温度セン :TMP007
hdc1000_temperature 温湿度セン :HDC1000 温度
温湿度セン : 湿度
$ mosquitto_sub -d -t '#'
$ mosquitto_sub -d -t '#'
Client mosqsub/1234-ip-10-0-0- sending CONNECT Client mosqsub/1234-ip-10-0-0- received CONNACK
Client mosqsub/1234-ip-10-0-0- sending SUBSCRIBE (Mid: 1, Topic: #, QoS: 0) Client mosqsub/1234-ip-10-0-0- received SUBACK
Subscribed (mid: 1): 0
Client mosqsub/1234-ip-10-0-0- received PUBLISH (d0, q0, r0, m0, 'Example/cc3200', ... (211 bytes)) {"macAddr":"aa:bb:cc:dd:ee:ff","d":{"opt3000_ambientLight":480.0,"tmp007_irTemperature":29.1,"hd c1000_temperature":29.0,"hdc1000_humidity":69.1,"ldc1612_inductive_ch0":9.413402,"ldc1612_induct ive_ch1":9.471347}}
4.
Appendix
4.1
dweet.io
利用例
Appendix 可視化 ービ 一例 dweet.io 利用例 紹介い
https://dweet.io/ 利用 セン 情報 可視化 簡易的 実現
4.1.1
Node.js client for dweet
実行例
MQTT Broker EC2イン タン 上 実行 ま 。
Node.js ン ー
必要 ン ー
$ sudo apt-get install nodejs
$ sudo update-alternatives --install /usr/bin/node node /usr/bin/nodejs 10
mqtt2dweet.js 例
vi 以下 内容 mqtt2dweet.js いう 名 作成
必要 ン ー 同 作成 く い
実行
実行例:以下 う macAddr 情報 URL 生成 出力
https://dweet.io/follow/cc3200_{macAddr}
var dweetClient = require("node-dweetio"); var dweetio = new dweetClient();
var mqttBroker = 'localhost'; var mqtt = require('mqtt');
var client = mqtt.connect('mqtt://' + mqttBroker);
client.on('connect', function () {
console.log('MQTT connected: ' + mqttBroker); client.subscribe("#");
});
client.on('message', function (topic, message) { if ( topic === 'Example/cc3200' ) {
var msg = JSON.parse(message);
var thing = "cc3200_" + msg.macAddr.replace(/:/g,""); var content = msg.d;
dweetio.dweet_for(thing, content, function(err, dweet){ });
console.log("https://dweet.io/follow/" + thing); }
});
$ node mqtt2dweet.js
$ node mqtt2dweet.js MQTT connected: localhost
https://dweet.io/follow/cc3200_aabbccddeeff https://dweet.io/follow/cc3200_aabbccddeeff https://dweet.io/follow/cc3200_aabbccddeeff
4.1.2
ウザ
表示例
5.
更新履歴
日付 版 更新概要
2015年8月4日 1.0 初版 ー
2015年5月24日 1.1 ニ ン ン 販売 い 際 名称 Kibo 使用 記載 修正